Music editing applications allow music composers, media artists, and other users to create and edit a musical performance stored as Musical Instrument Digital Interface (MIDI) data. Users can import MIDI data files or compose musical pieces stored as MIDI data and use tools provided by the music editing application to edit the sequences of notes in the MIDI data. For example, a graphical user interface (GUI) of such a music editing application can allow users to modify one or more characteristics of the MIDI data, such as the pitch, position, timing, duration, and velocity (or “loudness”) of the sequences of recorded notes in the MIDI files. Music editing can be performed on a digital audio workstation (“DAW”), GarageBand™ by Apple Inc., or any other suitable music editing applications that exist in hardware, software, firmware, or any combination thereof.
Music editing applications typically provide a musical grid and reference track (e.g., metronome click) that the performing musician will play to. Occasionally, the recorded sequence of MIDI note events will not match the grid position precisely. Often, this is caused by an intended groove, but sometimes the timing is simply inaccurate and the user may want to correct this imprecision without having to repeat the performance perfectly. However, some deviation from the grid might be desirable in certain cases to maintain the feel and expression of the original recording. For instance, a composer may wish to establish a strong (“tight”) relationship between a kick drum sound (i.e., MIDI event) and quarter-note markers in the musical performance. Thus, quantization would be appropriate in this case to ensure that the position of any imprecise kick drum MIDI event is corrected accordingly. On the other hand, certain musical techniques or performances include subtle dynamics, flurries, or other musical characteristics (e.g., quickly arpeggiated piano chords, drum flams, or drum rolls), resulting in a succession of notes that can be positioned very close together. Thus, typical quantization algorithms would be detrimental to these performances as many of the notes would be pushed to overlapping positions or the relationship of the notes' placement with respect to one another would be significantly changed, resulting in unintended and often unpleasant musical arrangements.
In summary, a significant downside of common quantization algorithms is that they do not properly maintain musically intended deviations from the grid, but force note positions exactly onto the grid, thus destroying any musical feel or playing detail beyond the grid resolution. While reducing quantize strength to values below 100% may keep some deviations intact to some degree, things like flams, quick arpeggios or grace notes, etc., are still compressed in time and lose their intended effect. Thus, there is a need for improved quantization algorithms to address these problems.